#include <graphics.h>  
#include <conio.h>
#include <stdio.h>
#include <time.h> 
int main()
{
	float Pi = 3.14159; 
	initgraph(800,600); 
	setbkcolor(RGB(128,128,128)); 
	cleardevice();  
	srand(time(0)); 

	int centerX,centerY; 
	int radius; 
	int i;
	float offset; 
	float totalOffset; 
	while(1)
	{	
		for (centerX = 100;centerX<800;centerX=centerX+200) 
		{
			for (centerY = 100;centerY<600;centerY=centerY+200) 
			{
				totalOffset = 0; 
				float h = rand()%180; 
				COLORREF  color1 = HSVtoRGB(h,0.9,0.8);
				COLORREF  color2 = HSVtoRGB(h+180,0.9,0.8); 
				for (radius=100;radius>0;radius=radius-20) 
				{
					int left = centerX - radius; 
					int top = centerY - radius; 
					int right = centerX + radius; 
					int bottom = centerY + radius; 
					for (i=0;i<20;i++)
					{
						offset = i*Pi/10 + totalOffset; 
						setfillcolor(color1); 
						solidpie(left,top,right,bottom,offset,2*Pi/60+offset); 
						setfillcolor(RGB(255,255,255));
						solidpie(left,top,right,bottom,2*Pi/60+offset,3*Pi/60+offset); 
						setfillcolor(color2);
						solidpie(left,top,right,bottom,3*Pi/60+offset,5*Pi/60+offset); 
						setfillcolor(RGB(0,0,0));
						solidpie(left,top,right,bottom,5*Pi/60+offset,6*Pi/60+offset); 
					}
					totalOffset = totalOffset + Pi/20;
				}
			}
		}
		_getch();
	}	
	return 0;
}
